# 1、运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户。
# 商品列表


print("欢迎登录开心购物系统")
user_id = ["guosiwen", "liliumang", "jianglaoban"]
password_id = ["888", "666", "999"]
# 建立数据库

username = input("请输入您的账号：")
password = input("请输入您的密码：")

if username in user_id:
    if password in password_id:
        print("欢迎", username, "来到shopping之都")
    else:
        print("请确认账号密码是否正确")


    goods_list = [
        # 商品1 商品名称，商品价格，商品编号...
        # 商品模板 ： [商品名称,商品名称]
        ["编号", "《书籍名称》", "价格"],
        ["01", "《瓦尔登湖》", 68],
        ["02", "《老人与海》", 88],
        ["03", "《平凡的世界》", 99],
        ["04", "《解忧杂货店》", 110],
    ]

    info = '''---------【BOOK STORE】---------
    %s
    %s
    %s
    %s
    %s
    ''' % (goods_list[0], goods_list[1], goods_list[2], goods_list[3], goods_list[4])
    print(info)

    # 不是所有的代码都可以一次性考虑全面！例如这里应该写一个用户商品列表
    user_shopping_car = []  # append 可以新增列表

    # 用户输入： input
    Alipay = int(input("您的小金库还有："))

    # 打印商品列表 （规范打印，样式是先写的，然后再输入数据）
    # 先设计模板样式： 商品编号：xx，商品名称：xx，商品的价格：xx 元
    while True:
        #     for i in range(len(goods_list)):
        print(info)
    # 这里len（goods_list）= 5 用len（goods_list）的话可以系统自动取goods_list的长度，5是goods_list的长度
    #  print("商品编号：%s，商品名称：%s，商品的价格：%d 元"%(0,goods_list[0][0],goods_list[0][1]))
    #     用0和i的区别是：0的话只执行第一栏，i的话可以执行整一栏
    #         print("商品编号：%s，商品名称：%s，商品的价格：%d 元" % (i, goods_list[i][0], goods_list[i][1]))

        # 2、让用户输入商品编号进行商品的购买。
        choice = input("请输入您想要购买的书籍编号(亦输入“q”退出购买)：")  # 用户输入可能不是数值，也可能是
    # if choice .(.的意思是“属于”或者“是在”)isdigit（指的是变成数据）（）：
        if choice.isdigit():
            # 用int转换数据类型为数值
            choice = int(choice)
            # 是正确的编号
            if choice < len(goods_list):  # 商品的信息：goods_list[choice] ，商品名称：goods_list[choice][0]  商品价格:goods_list[choice][1]
                # 1. 看一看用户钱够不够； Alipay VS goods_list[choice][1]
                if Alipay < goods_list[choice][2]:
                    print("您的余额不够，请更换支付方式")
                # 2. 如果够的话，赶紧扣钱！把商品加到购物车
                else:
                    Alipay = Alipay - int(goods_list[choice][2])
                    user_shopping_car.append(goods_list[choice])
                    print(goods_list[choice][1], "已经添加到您的购物车，您的余额还有", Alipay, "元")
                    # 提示用户：本次购买成功
                    # print("goods_list[choice][1]", "已经添加到您的购物车，您的余额还有", "【%goods_list[choice][2]】")

            # 不是正确的编号
            else:
                print("您输入的商品不存在，请输入正确的编号")
        elif choice == "q":
            print("-----------------", '\n', "您的购物车已放入：%s " % (user_shopping_car), '\n', "您的余额还有：%d 元" % (Alipay))
            print("书籍是人类进步的阶梯，谢谢惠顾~")
            break
            # 两种情况：
            # 1. 按照我们的要求输入的文本，例如：输入q表示quit退出的意思

            # 2. 输入的不符合我们的要求的文本
        else:
            print("请输入正确的商品编号！！或者输入“q”退出")